package app.fichajes.asyncTask;

import java.util.List;

import android.graphics.drawable.Drawable;
import app.fichajes.cacheo.FichajesData;
import app.fichajes.constants.Constants;
import app.fichajes.data.Fichaje;
import app.fichajes.main.Main;
import app.fichajes.main.R;
import app.fichajes.utils.ChangeViews;
import app.fichajes.utils.ImagenDeUrl;
import app.fichajes.views.AltasYBajas;

import com.gi.libraryutility.main.ActivityUtility;
import com.gi.libraryutility.views.AlertProgressBar;


public class HiloParaImagenes extends Thread{

	private boolean progressBar;
	private List<Fichaje> listFichajes;
	private Drawable img;
	private String nextView;
	private int fichajesAmostrar;
	
	public HiloParaImagenes(List<Fichaje> listFichajes, String nextView, int fichajesAmostrar, boolean progressBar){
		this.nextView = nextView;
		this.progressBar = progressBar;
		this.listFichajes = listFichajes;
		this.fichajesAmostrar = fichajesAmostrar;
		this.img = ActivityUtility.getActivityActual().getResources().getDrawable(R.drawable.jugador_generico);
	}
	
	@Override
	public void run() {
		if(progressBar)
			AlertProgressBar.show(Main.getContext());
		
		for(Fichaje f: listFichajes){
			FichajesData.escudoFromAssets(f.getEquipo_origen());
			FichajesData.escudoFromAssets(f.getEquipo_destino());
			
			String nombre = f.getJugador().getNombre();
			img = ImagenDeUrl.obtenerImagen(f.getJugador().getUrlFoto(), false);
			
			FichajesData.mapFotosJugador.put(nombre, img);
		}
		
		ActivityUtility.postRunnable(new RunnableDescargarImagen());
	}

	
	private class RunnableDescargarImagen implements Runnable{

		@Override
		public void run() {
			
			switch (fichajesAmostrar) {
			case Constants.VER_LISTADO_ALTAS:
				AltasYBajas.verListadoAltas();
				break;

			case Constants.VER_LISTADO_BAJAS:
				AltasYBajas.verListadoBajas();
				break;
				
			case Constants.VER_LISTADO_PORTADA:
				//No se hace nada, ya se encarga el init de portada
				break;
			}
			
			ChangeViews.cambiaInclude(nextView);
			AlertProgressBar.dismiss();
		}
		
	}
	

}
